﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using upcdew_20111_group2b.CapaPersistencia;
using upcdew_20111_group2b.CapaDominio;

namespace upcdew_20111_group2b.CapaNegocio
{
    public class ControlPago
    {
       // ResidenteDAO ResidenteDAO { get; set; }
        ViviendaDAO ViviendaDAO { get; set; }
        Cuota_PagoDAO Cuota_PagoDAO { get; set; }       
 
         public ICollection<Cuota_Pago> ListarCuota_Pago()
        {
            return Cuota_PagoDAO.ListarCuota_PagoPorEstado("PENDIENTE");
        }

        public Cuota_Pago RealizarPago(String CodDocumento, String CodVivienda, String Tex_Periodo, String Tex_Tipo_Pago, String Num_Opreacion, String Tex_Estado)
        {
            Cuota_Pago tipopago = Cuota_PagoDAO.Obtener(Tex_Tipo_Pago);
            if (tipopago == null)
                throw new Exception("El Tipo de Pago  No existe");
            Cuota_Pago nrooperacion = Cuota_PagoDAO.Obtener(Num_Opreacion);
            if (nrooperacion == null)
                throw new Exception("Debe de registrar un numero de operacion");
            Vivienda vivienda = ViviendaDAO.Obtener(CodVivienda);
            if (vivienda == null)
                throw new Exception("La vivienda " + vivienda + " no existe");
          
            Cuota_Pago CuotaPago = new Cuota_Pago();
            CuotaPago.CodDocumento = CodDocumento;
            CuotaPago.CodVivienda = vivienda;
            CuotaPago.Tex_Periodo = Tex_Periodo;
            CuotaPago.Fec_Operacion = DateTime.Today;
            CuotaPago.Num_Operacion = "20543935";
           CuotaPago.Tex_Estado = "PAGADO";


            return Cuota_PagoDAO.Modificar(CuotaPago);
        }

    
    }
}